   Help for BmpLst

Properties	Events

Registration Information

Order Form

Getting Custom Controls Written

Licensing Information

Description

This control is a list box with bitmaps.  The bitmaps can be placed on any side of the text (top, bottom, right, left).  Each item in the list has top and bottom margins a vertical gap (see Layout for a visual representation of these properties).

File Name

BMPLST2.VBX

Object Type

BmpLst

VBX Compatibility

VB 1.0, 2.0, 3.0 and 4.0 (16-bit)

Distribution Note     When you develop and distribute an application that uses BmpLst, you should install the control file into the users Windows SYSTEM directory.  BmpLst has version information built into it.  So, during installation, you should ensure that you are not overwriting a newer version of BmpLst.


Layout

BmpLst combines both a line of text and a picture into one item in a list box.

The placement of both objects for the item is determined by the TopMargin, VertGap, and BottomMargin properties.  The use of each property is shown below:


BmpLst Properties

Properties that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

BackColor Property

*BlinkInterval Property

*BorderEffect Property

*BottomMargin Property

*ColAlignment Property

*ColDelim Property

*ColWidth Property

*DividerEffect Property

*Dividers Property

DragIcon Property

DragMode Property

Enabled Property

*FindCol Property

*FindInstr Property

*FindString Property

FontBold Property

FontItalic Property

FontName Property

FontSize Property

FontStrikeThru Property

FontUnderLine Property

ForeColor Property

*FoundIndex Property

Height Property

HelpContextID Property

*HScroll Property

hWnd Property

Index Property

*ItemBackColor Property

*ItemBlink Property

*ItemBlinkBackColor Property

*ItemBlinkForeColor Property

ItemData Property

*ItemForeColor Property

*ItemPlacement Property

*ItemUnderMouse Property

*ItemValue Property

Left Property

List Property

ListCount Property

ListIndex Property

MousePointer Property

MultiSelect Property

NewIndex Property

Parent Property

*Picture Property

*ScreenUpdate Property

SelCount Property

*Selected Property

*SortCol Property

Sorted Property

*SortOrder Property

TabIndex Property

TabStop Property

Tag Property

Top Property

TopIndex Property

*TopMargin Property

*ValueCol Property

*VertGap Property

*Version Property

Visible Property

Width Property


BmpLst Events

Properties that have special meaning for this control or that only apply to this control are marked with an asterisk (*).

Click Event

DblClick Event

DragDrop Event

DragOver Event

GotFocus Event

KeyDown Event

KeyPress Event

KeyUp Event

LostFocus Event

MouseDown Event

MouseMove Event

MouseUp Event


BlinkInterval Property

See Also

Description

Sets or returns the number of milliseconds between changes to a BmpLst's items.

Syntax

object.BlinkInterval [= milliseconds ]

Remarks

For an item to blink the ItemBlink property must be set to True and the BlinkInterval property must be greater than zero (0).

Data Type

Integer


See Also

Properties:

ItemBlink

ItemBlinkBackColor

ItemBlinkForeColor


BorderEffect Property

Determines what style of border to put around the list box.

Syntax

object.BorderEffect[ = integer ]

Remarks

This property only takes effect when BorderStyle is set to 1 (Single Width).

The settings for BorderEffect are:

Setting	Description

0	Normal border

1	Raised border

2	Lowered border

3	Inset border

The settings (above) look like:

Normal	Raised	Lowered	Inset

Data Type

Integer (enumerated)


BottomMargin Property

Determines the amount of space between the bottom of the text and the bottom of the entire item.

Syntax

object.BottomMargin[ = twips ]

Remarks

BottomMargin determines how much space is added between the bottom of the displayed text, and the bottom of the entire item.  BottomMargin and TopMargin together determine how much space there is between the bottom of the text and the top of the next picture.

This property is measured in twips.

See the Layout section for more information on how a list item is placed on the screen.

Data Type

Integer


See Also

Properties:

ItemHeight

ItemWidth

LeftMargin

TopMargin

VertGap


ColAlignment Property

See Also

Specifies how a text column/field will display.

Syntax

object.ColAlignment( index )[ = integer ]

Remarks

ColAlignment determines the justification (alignment) of the columns in a list box.  Each column can have its own individual setting.

index determines the column/field to set.  An index of zero (0) is the first column, one (1) is the second column, etc.

ColAlignment uses the following settings:

Setting	Description

0	Left

1	Right

2	Centered

Data Type

Integer (enumerated)


See Also

Properties:

ColDelim

ColWidth


ColDelim Property

See Also

Column delimiter for text fields/columns in list items.

Syntax

object.ColDelim[ = character ]

Remarks

ColDelim specifies the column delimiter (separator) for fields/columns in the text part of list items.  This property defaults to Tab (Chr(9)).

The ColDelim property defines fields within a list item (it is the field delimiter). ValueCol specifies which field (or column) holds the value. ItemValue returns the value for a specific list item (specified by index).

Data Type

String


See Also

Properties:

FindCol

ItemValue

SortCol

ValueCol


ColWidth Property

See Also

Determines the width of a text column/field.

Syntax

object.ColWidth( index )[ = integer ]

Remarks

ColWidth determines the width of a text column/field (see ColDelim).  This property is measured in characters (BmpLst uses the average character width of the font you've selected).

index determines the column/field to set.  An index of zero (0) is the first column, one (1) is the second column, etc.

Data Type

Integer


See Also

Properties:

ColAlignment

ColDelim


DividerEffect Property

See Also

Determines what style of dividers to use (if any).

Syntax

object.DividerEffect[ = integer ]

Remarks

This property determines what style of dividers to use.  This property only takes effect if the Dividers property is non-zero.

The settings are:

Setting	Description

0	None

1	Raised

2	Lowered

Data Type

Integer (enumerated)


See Also

Properties:

Dividers


Dividers Property

See Also

Determines where to place dividers (between columns, rows, both or neither).

Syntax

object.Dividers[ = integer ]

Remarks

This property determines if there are dividers (lines) between the rows and/or columns in the list box.  You can change what the dividers look like (if any) using the DividerEffect property.

The settings are:

Setting	Description

0	None

1	Horizontal

2	Vertical

3	Both

Data Type

Integer (enumerated)


See Also

Properties:

DividerEffect


FindCol Property

See Also

Specifies the field/column that BmpLst uses to find text during searches.

Syntax

object.FindCol[ = integer ]

Remarks

FindCol determines which field/column in a list item that BmpLst uses when searching for text (using the FindInstr or FindString properties).  If this property is set to -1, BmpLst uses the entire list item (line) to search.

The ColDelim property defines fields within a list item (it is the field delimiter).

Data Type

Integer


See Also

Properties:

ColDelim

FindInstr

FindString


FindInstr Property

See Also

Starts a search for a string.

Syntax

object.FindInstr[ = string ]

Remarks

When you set this property, FindInstr will search the list box (starting at the item immediately after the index specified by FoundIndex) for the new value of FindInstr.

If BmpLst finds a matching item, BmpLst will set FoundIndex to the index of the list item where the string is found.  If nothing is found, BmpLst sets FoundIndex to -1.

FindInstr will find look for the string specified anywhere in the list items (this is different from FindString, as FindString will look only at the start of the list item for the string specified).

If FindCol is set to -1, BmpLst will search entire list items for the string specified.  If FindCol is anything else, BmpLst will search only the column specified in FindCol.

Data Type

String


See Also

Properties:

ColDelim

FindCol

FindInstr

FoundIndex


FindString Property

See Also

Starts a search for a string.

Syntax

object.FindString[ = string ]

Remarks

When you set this property, BmpLst will search the list box (starting at the item immediately after the index specified by FoundIndex) for the new value of FindString.  FindString will find search for the specified string at the beginning of the list items.

If BmpLst finds a matching item, BmpLst will set FoundIndex to the index of the list item where the string is found.  If nothing is found, BmpLst sets FoundIndex to -1.

If FindCol is set to -1, BmpLst will search entire list items for the string specified.  If FindCol is anything else, BmpLst will search only the column specified in FindCol.

Data Type

String


See Also

Properties:

ColDelim

FindCol

FindInstr

FoundIndex


FoundIndex Property

See Also

Holds the list item index after a search.

Syntax

object.FoundIndex[ = index ]

Remarks

Before starting a search, you should set this property to the index of the list item immediately prior to where you want to search.  If you want to start at the beginning, set this property to -1.

After BmpLst searches the list box (using either the FindInstr or FindString properties), BmpLst sets this property to the index of the list item found.  If no item is found, this property is set to -1.

With subsequent searchs, just leave this property at the value returned by BmpLst.  This will allow you to find items after the first.

This property is only available at run-time.

Data Type

Integer


See Also

Properties:

ColDelim

FindCol

FindInstr

FindString


HScroll Property

Description

Determines whether the control has a horizontal scroll bar.

Usage

[form.][control.]HScroll[ = boolean ]

Remarks

This property holds the current version of the control.  It is read-only and available at both design-time and run-time.

Data Type

Integer (boolean)


ItemBlink Property

See Also

Determines whether or not an item blinks.

Syntax

object.ItemBlink( index )[ = boolean ]

Remarks

For an item to blink the ItemBlink property must be set to True and the BlinkInterval property must be greater than zero (0).

The settings for ItemBlink are:

Setting	Description

False	(Default) Disables blinking for this item (specified by index).

True	The item specified by index blinks.  The colors and interval are determined by BlinkInterval, ItemBlinkBackColor and ItemBlinkForeColor.

Data Type

Integer (boolean)


See Also

Properties:

BlinkInterval

ItemBlinkBackColor

ItemBlinkForeColor


ItemBlinkForeColor and ItemBlinkBackColor Properties

See Also

Determines the text and background colors for a blinking item.

Syntax

object.ItemBlinkBackColor( index )[ = color ]

object.ItemBlinkForeColor( index )[ = color ]

Remarks

When an item blinks, it's text colors switch between the ItemForeColor/ItemBackColor properties (for the text and background colors) and the ItemBlinkForeColor/ItemBlinkBackColor properties.

The index parameter determines which list item these properties apply to.  Each item in the list can have individual fore and back colors.

For an item to blink the ItemBlink property must be set to True and the BlinkInterval property must be greater than zero (0).

Data Type

Integer (long)


See Also

Properties:

BlinkInterval

ItemBackColor

ItemBlink

ItemForeColor


ItemForeColor and ItemBackColor Properties

See Also

Determines the text and background colors of a line in the list box.

Syntax

object.ItemBackColor( index ) [= color ]

object.ItemForeColor( index ) [= color ]

Remarks

Each line in a BmpLst list box may have its own text color and background color.  You can change these by setting the ItemBackColor and ItemForeColor.

The index parameter determines which list item these properties apply to.

Data Type

Integer (long)


See Also

Properties:

BlinkInterval

ItemBlink

ItemBlinkBackColor

ItemBlinkForeColor


ItemPlacement Property

Determines the location of the bitmap in relation to the text.

Syntax

object.ItemPlacement[ = integer ]

Remarks

ItemPlacement determines where, in each list item, the bitmap (Picture property) is in relation to the text portion of the item.

The settings for ItemPlacement are:

Setting	Description

0	Top

1	Bottom

2	Left

3	Right

Data Type

Integer (enumerated)


ItemUnderMouse Property

Returns the index of the item under the mouse.

Syntax

object.ItemUnderMouse

Remarks

This property holds the index of the list item undernearh the mouse.  If no item is under the mouse, ItemUnderMouse returns -1.

Data Type

Integer


ItemValue Property

See Also

Returns the value column/field of a list item.

Syntax

object.ItemValue( index )

Remarks

The ItemValue property returns the column (as defined by the ColDelim and ValueCol properties) from the list item specified by the index parameter.

The ColDelim property defines fields within a list item (it is the field delimiter). ValueCol specifies which field (or column) holds the value. ItemValue returns the value for a specific list item (specified by index).

This property is read-only and only available at run-time.

Data Type

String


See Also

Properties:

ColDelim

ValueCol


Picture Property

Sets the picture for a particular item in the list.

Syntax

object.Picture( index ) [= picture ]

Remarks

This property sets the picture for the item specified by index.  This must be a picture object (i.e., from another control, or loaded by a function such as LoadPicture).

Data Type

Integer


ScreenUpdate Property

Controls screen update of control.

Usage

[form.][label.]ScreenUpdate[ = boolean ]

Remarks

If this property is set to False, BmpLst will not paint itself.  This allows for loading of the list without having to wait for multiple re-paints.  When this property is set to True, the control will paint itself when necessary.

Data Type

Integer (boolean)


Selected Property

Determines whether or not an item is highlighted (selected).

Syntax

object.ItemBlink( index )[ = boolean ]

Remarks

With multi-select lists, this property sets/returns if a list item is selected.  When this property is True the item, specified by index, is selected.  When False, the item is not selected.

This property is only available at run-time.

Data Type

Integer (boolean)


SortCol Property

See Also

Determines the column BmpLst sorts by.

Syntax

object.SortCol[ = integer ]

Remarks

SortCol determines which field/column in a list item that BmpLst uses as the sort key.  If this property is empty or set to -1, BmpLst uses the entire list item (line) to sort.

You may sort on multiple fields by specifying multiple columns to sort on.  Simply specify the column numbers, separated by commas.  For example, to sort on the first, third and fifth columns, you would do:

BmpList1.SortCol = "0,2,4"

The ColDelim property defines fields within a list item (it is the field delimiter).

Data Type

Integer


See Also

Properties:

ColDelim

SortOrder


SortOrder Property

See Also

Determines how (which direction) BmpLst sorts.

Syntax

object.SortOrder[ = integer ]

Remarks

SortOrder determines which direction BmpLst will sort list items when Sorted is set to True.  BmpLst only sorts items as you load the control.  Changing this property (or any other sorting related property) will not change the order of items already loaded into the list.

The ColDelim property defines fields within a list item (it is the field delimiter).

SortOrder recognizes the following values:

Setting	Description

0	Ascending (default)

1	Descending

Data Type

Integer (enumerated)


See Also

Properties:

ColDelim

SortCol


TopMargin Property

Determines the amount of space between the top of the picture and the top of the entire item.

Usage

[form.][label.]TopMargin[ = twips ]

Remarks

TopMargin determines how much space is added between the top of the picture and the top of the entire item.  BottomMargin and TopMargin together determine how much space there is between the bottom of the text and the top of the next picture.

See the Layout section for more information on how a list item is placed on the screen.

Data Type

Integer (twips)


ValueCol Property

See Also

Determines the column/field in a list item that holds the item's value.

Syntax

object.ValueCol[ = integer ]

Remarks

ValueCol determines which field/column in a list item holds the item's value.

The ColDelim property defines fields within a list item (it is the field delimiter). ValueCol specifies which field (or column) holds the value. ItemValue returns the value for a specific list item (specified by index).

Data Type

Integer


See Also

Properties:

ColDelim

ItemValue


Version Property

Description

Shows the version of the control.

Usage

[form.][control.]Version

Remarks

This property holds the current version of the control.  It is read-only and available at both design-time and run-time.

Data Type

String


VertGap Property

Determines the amount of space between the bottom of the picture and the top of the text.

Usage

[form.][label.]VertGap

Remarks

VertGap determines how much space placed between the bottom of the picture and the top of the text.

See the Layout section for more information on how a list item is placed on the screen.

Data Type

Integer (twips)


Registration Information

Credits

BmpLst was written by James Shields.

Inquiries can be sent to 71231,2066 on CompuServe, or mabry@mabry.com on Internet.  Our mailing address is:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Registration

You can register this program by sending $20 ($25 for international orders) and your address.  You can register BmpLst and its C source code by sending $45 ($50 for international orders). With your order, you will receive a copy of a manual documenting this control.

Add $5 per order for shipping and handling.

For your convenience, an order form has been provided that you can print out directly from this help file.

Prices are subject to change without notice.

E-mail Discount

You may take a $5 discount for e-mail delivery of this package (CompuServe or Internet).  If you choose this option, please note: a printed manual is not included.  Be sure to include your full mailing address with your order.  Sometimes (on the Internet) the package cannot be e-mailed.  So, we are forced to send it through the normal mails.

CompuServe members may also take the $5 e-mail discount by registering this package in the software registration forum (GO SWREG).  BmpLst's SWREG ID number is 1059.  The source code version's ID number is 1060.

Credit Card Orders

We accept VISA, Mastercard and American Express.  If you e-mail your order to us, please be sure to include your card number, expiration date, complete mailing address, and your phone number (in case we have any questions about your order).

© Copyright 1993-1997 by Mabry Software, Inc.


Order Form
 BmpLst Order Form

Use the Print Topic.. command from the File menu to print this order form.

Mail this	Mabry Software, Inc.

form to:	Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272

CompuServe: 71231,2066

Internet: mabry@mabry.com

Web: www.mabry.com

Where did you get this copy of BmpLst?

____________________________________________________________________

Ship to:	____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

____________________________________________________________________

Phone:	_________________________________________________________________

Fax:	_________________________________________________________________

E-Mail:	_________________________________________________________________

MC/VISA/AMEX: _________________________________________ exp. __________________

P.O. # (if any):_________________________________________________________________

qty ordered	____	REGISTRATION

$20 each ($25 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.

qty ordered	____	SOURCE CODE AND REGISTRATION

$45 each ($50 international).  Check or money order in U.S. currency drawn on a U.S. bank.  Add $5.00 per order for shipping and handling.


*ColTitle Property

*ColTitleEffect Property

*ItemHeight Property

*ItemWidth Property

*LeftIndex Property

*LeftMargin Property

This property has nothing to do with the NumColumns or MultiColumn properties. ItemValue, ColDelim an ValueCol deal with text columns with a list item. NumColumns and MultiColumn deal with snaking columns of list items in the list box itself.


Getting Custom Controls Written

If you or your organization would like to have custom controls written, you can contact us at the following:

Mabry Software, Inc.

Post Office Box 31926

Seattle, WA  98103-1926

Phone: 206-634-1443

Fax: 206-632-0272

CompuServe: 71231,2066

Internet: mabry@mabry.com

You can also contact Zane Thomas.  He can be reached at:

Zane Thomas

Post Office Box 121

Indianola, WA  98342

Internet: zane@mabry.com


Licensing Information

Legalese Version

Mabry Software grants a license to use the enclosed software to the original purchaser.  Copies may be made for back-up purposes only.  Copies made for any other purpose are expressly prohibited, and adherence to this requirement is the sole responsibility of the purchaser.

Customer written executable applications containing embedded Mabry products may be freely distributed, without royalty payments to Mabry Software, provided that such distributed Mabry product is bound into these applications in such a way so as to prohibit separate use in design mode, and that such Mabry product is distributed only in conjunction with the customers own software product.  The Mabry Software product may not be distributed by itself in any form.

Neither source code for Mabry Software products nor modified source code for Mabry Software products may be distributed under any circumstances, nor may you distribute .OBJ, .LIB, etc. files that contain our routines. This control may be used as a constituent control only if the compound control thus created is distributed with and as an integral part of an application.  Permission to use this control as a constituent control does not grant a right to distribute the license (LIC) file or any other file other than the control executable itself.This license may be transferred to a third party only if all existing copies of the software and its documentation are also transferred.

This product is licensed for use by only one developer at a time.  Mabry Software expressly prohibits installing this product on more than one computer if there is any chance that both copies will be used simultaneously.  This restriction also extends to installation on a network server, if more than one workstation will be accessing the product.  All developers working on a project which includes a Mabry Software product, even though not working directly with the Mabry product, are required to purchase a license for that Mabry product.

This software is provided as is.  Mabry Software makes no warranty, expressed or implied, with regard to the software.  All implied warranties, including the warranties of merchantability and fitness for a particular use, are hereby excluded.

MABRY SOFTWARE'S LIABILITY IS LIMITED TO THE PURCHASE PRICE.  Under no circumstances shall Mabry Software or the authors of this product be liable for any incidental or consequential damages, nor for any damages in excess of the original purchase price.

To be eligible for free technical support by telephone, the Internet, CompuServe, etc. and to ensure that you are notified of any future updates, please complete the enclosed registration card and return it to Mabry Software.

English Version

We require that you purchase one copy of a control per developer on a project.  If this is met, you may distribute the control with your application royalty free.  You may never distribute the LIC file.  You may not change the product in any way that removes or changes the requirement of a license file.

We encourage the use of our controls as constituent controls when the compound controls you create are an integral part of your application.  But we don't allow distribution of our controls as constituents of other controls when the compound control is not part of an application.  The reason we need to have this restriction is that without it someone might decide to use our control as a constituent, add some trivial (or even non-trivial) enhancements and then sell the compound control.  Obviously there would be little difference between that and just plain reselling our control.

If you have purchased the source code, you may not re-distribute the source code either (nor may you copy it into your own project).  Mabry Software retains the copyright to the source code.

Your license is transferable.  The original purchaser of the product must make the transfer request.  Contact us for further information.